草庐IT

TypeScript 函数

全部标签

javascript - ES6 用箭头函数给变量赋值

我刚刚开始习惯ES6语法,我想知道是否可以使用箭头函数为变量赋值。我正在编写一个基本的轻量级AJAX帮助程序库,并且在状态为200时,我想向用户返回一个有效负载,我目前正在这样做:varresponseData="";switch(payload.returnType.toLowerCase()){case"json":responseData=JSON.parse(httpRequest.responseText);break;case"text":responseData=httpRequest.responseText;break;default:responseData=nul

javascript - 为什么函数组合在 Javascript 中是从右到左组合的?

函数组合从右到左组合:constcomp=f=>g=>x=>f(g(x));constinc=x=>x+1;constdec=x=>x-1;constsqr=x=>x*x;letseq=comp(dec)(comp(sqr)(inc));seq(2);//8seq(2)转化为dec(sqr(inc(2)))应用顺序为inc(2)...sqr...十二月。因此,函数的调用顺序与传递给comp的顺序相反。这对于Javascript程序员来说并不直观,因为他们习惯于从左到右的方法链接:o={x:2,inc(){returnthis.x+1,this},dec(){returnthis.x-1

javascript - Typescript 中泛型类中 Type 的默认值

我需要根据变量在Typescript泛型类中的类型设置默认值,如下所示classMyClass{myvariable:T//HereIwanttosetthevalueofthisvariable//withthedefaultvalueofthetypepassedin'T'}例如,如果T是数字,那么变量myvariable的默认值应该是“0”,同样对于字符串,它应该是空字符串等等。 最佳答案 您不能这样做,因为T的实际类型只会在运行时才知道。你可以做什么:abstractclassMyClass{myvariable:T;con

javascript - Typescript/JavaScript forEach

我正在做一个关于Typescript的词法范围处理的教程,我遇到了一个我以前从未见过的函数的使用。这看起来像forEach语句中的空函数。在typescript中它看起来像这样:fns.forEach(fn=>fn());在javascript中它看起来像:fns.forEach(function(fn){returnfn();});我从未见过像这样使用的函数。有人可以解释这是如何工作的吗?具体来说,fn=>fn()实际执行的是什么。引用下面的代码,是执行fns.push还是for循环?如果是For循环,则没有对此的引用,那么它是如何知道的?完整代码如下:typescript:varf

javascript - 判断回调函数的 是否是 ES6 箭头

这个问题在这里已经有了答案:JavaScriptES6:Testforarrowfunction,built-infunction,regularfunction?(10个答案)关闭6年前。由于普通箭头函数和ES6箭头函数之间的上下文差异很大,我希望能够找出回调fn接收到的是哪一个。typeof将return两者的function。有什么办法区分吗?

javascript - 如何对调用另一个返回 promise 的函数进行单元测试?

我有一个使用express4的node.js应用程序,这是我的Controller:varservice=require('./category.service');module.exports={findAll:(request,response)=>{service.findAll().then((categories)=>{response.status(200).send(categories);},(error)=>{response.status(error.statusCode||500).json(error);});}};它调用我的服务返回一个promise。一切正常

javascript - 从 typescript 使用内部 javascript 文件

我的项目中有一个js文件,我需要从ts文件中使用它。js文件路径为“javascript/jsToConsume.js”。ts文件路径为“typescript/client.ts”我在“typings/internal/jsToConsume.d.ts”路径下添加了声明文件,其内容如下:declarenamespacejsToConsume{exportfunctionfunc1():void;}在我的client.ts中,我尝试使用它:///import*asjsToConsumefrom'../javascript/jsToConsume'但是'../javascript/jsTo

javascript - 在 express.js 启动之前运行异步函数

我想在启动我的应用程序之前运行异步操作(例如,等待URL调用完成)。我不知道该怎么做(因为它是一个上层应用程序-这里没有async/await)。www.js:varapp=require('./app');varhttp=require('http');constport='3000';app.set('port',port);varserver=http.createServer(app);server.listen(port);应用程序.js:varexpress=require('express');varapp=express();varPromise=require('bl

javascript - 未捕获的类型错误 : e. doDrilldown 不是函数 - Highcharts

我在我的React项目中使用了highcharts。我在我的模块中导入了highcharts。预期的行为是能够使用多个向下钻取实例。当向下钻取实际工作正常时,引发的异常e.doDrilldown不是函数。这发生在我的节点环境中,其中每个图都在自己的模块中,并且不知道其他图的存在。我尝试添加检查以查看是否已导入向下钻取。我尝试使用webpack来确保模块只加载一次。我目前在这样的一个文件中使用它importDrilldownfrom'highcharts/modules/drilldown';importHighchartsfrom'highcharts/highmaps.src.js'

javascript - 在调用另一个函数时运行一个函数

我想知道如何在调用另一个函数时运行一个函数。addEventListener仅运行“单击”、“鼠标悬停”等事件。但是,我想监听函数调用。示例:函数1被调用。之后,Function2运行,因为它看到调用了Function1。是否有简单函数而不是事件的addEventListener替代方案?我似乎找不到任何东西。我的目标是在用户每次执行某些操作时简单地运行一个函数,例如当某些东西隐藏在jQuery中或被另一个JavaScript库隐藏时调用,或者只是另一个外部JavaScript文件和我添加的一些代码。 最佳答案 介绍一种非常hack